64 lines
2.7 KiB
CMake

cmake_minimum_required (VERSION 3.1)
if( CMAKE_SIZEOF_VOID_P EQUAL 8 )
set( INSTRUCTION_SET "64" )
else( CMAKE_SIZEOF_VOID_P EQUAL 8 )
set( INSTRUCTION_SET "86" )
endif( CMAKE_SIZEOF_VOID_P EQUAL 8 )
set(OPENWSMAN_MASTER "../openwsman-master")
set(OPENWSMAN "../openwsman")
set(LIBXML2 "../LibXml2")
set (OPENWSMAN_LIB_FILES "src/lib/wsman-client-transport.c" "src/lib/wsman-client.c" "src/lib/wsman-epr.c" "src/lib/wsman-faults.c" "src/lib/wsman-filter.c" "src/lib/wsman-key-value.c" "src/lib/wsman-libxml2-binding.c" "src/lib/wsman-soap-envelope.c" "src/lib/wsman-soap-message.c" "src/lib/wsman-win-client-transport.c" "src/lib/wsman-xml-serialize.c" "src/lib/wsman-xml.c")
set (OPENWSMAN_LIB_FILES_U "src/lib/u/base64.c" "src/lib/u/buf.c" "src/lib/u/debug.c" "src/lib/u/gettimeofday.c" "src/lib/u/hash.c" "src/lib/u/list.c" "src/lib/u/lock.c" "src/lib/u/log.c" "src/lib/u/md5.c" "src/lib/u/memory.c" "src/lib/u/misc.c" "src/lib/u/os.c" "src/lib/u/pthreadx_win32.c" "src/lib/u/strings.c" "src/lib/u/syslog.c" "src/lib/u/uerr.c" "src/lib/u/uri.c" "src/lib/u/uuid.c")
set (OPENWSMAN_LIB_FILES_CPP "src/cpp/OpenWsmanClient.cpp" "src/cpp/WsmanEPR.cpp" "src/cpp/WsmanFilter.cpp" "src/cpp/WsmanOptions.cpp")
SET(OPENWSMAN_FILES_ABSOLUTE "")
FOREACH(f ${OPENWSMAN_LIB_FILES})
LIST(APPEND OPENWSMAN_FILES_ABSOLUTE "${OPENWSMAN_MASTER}/${f} ")
ENDFOREACH(f)
FOREACH(f ${OPENWSMAN_LIB_FILES_U})
LIST(APPEND OPENWSMAN_FILES_ABSOLUTE "${OPENWSMAN_MASTER}/${f} ")
ENDFOREACH(f)
FOREACH(f ${OPENWSMAN_LIB_FILES_CPP})
LIST(APPEND OPENWSMAN_FILES_ABSOLUTE "${OPENWSMAN_MASTER}/${f} ")
ENDFOREACH(f)
add_library (CimOpenWsmanClient STATIC CimOpenWsmanClient.cpp ${OPENWSMAN_FILES_ABSOLUTE} $<TARGET_OBJECTS:LibXml2>)
target_link_libraries (CimOpenWsmanClient PRIVATE CimFrameworkUntyped LibXml2)
set_target_properties (CimOpenWsmanClient PROPERTIES POSITION_INDEPENDENT_CODE ON)
include_directories (
"${OPENWSMAN}"
"${OPENWSMAN_MASTER}/include/"
"${OPENWSMAN_MASTER}/src/cpp/"
"${LIBXML2}"
"${LIBXML2}/include/"
"${CMAKE_BINARY_DIR}/LibXml2"
"../CimFrameworkUntyped/include"
)
target_include_directories (CimOpenWsmanClient PUBLIC "./" )
add_definitions(-DHAVE_CONFIG_H -DUSE_WINSOCK)
list(APPEND CMAKE_ARGS "CMAKE_ARGS HAVE_CONFIG_H=ON -DBUILD_EXAMPLES=OFF -DBUILD_PYTHON=OFF -DBUILD_RUBY=OFF -DDISABLE_PLUGINS=ON -DBUILD_TESTS=OFF -DBUILD_SWIG_PLUGIN=OFF -DBUILD_CSHARP=OFF -DBUILD_JAVA=OFF -DDISABLE_SERVER=ON -DBUILD_PERL=OFF -DUSE_PAM=OFF -DENABLE_EVENTING_SUPPORT=NO -DBUILD_SHARED_LIBS=OFF")
if (MSVC)
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /guard:cf")
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /guard:cf")
else (MSVC)
set(CMAKE_CXX_FLAGS "-static-libgcc")
endif (MSVC)