51 lines
2.3 KiB
CMake

PROJECT(openwsman)
cmake_minimum_required (VERSION 3.13)
set(OPENWSMAN_MASTER "../openwsman-master")
set(LIBXML2 "../libxml2")
set(LIBXML2_MASTER "../libxml2-master")
#add_subdirectory("src/cpp")
# "src/lib/wsman-debug.c"
set (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"
)
# "src/lib/u/uoption.c" "src/lib/u/iniparser.c"
set (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 (LIB_FILES_CPP "src/cpp/OpenWsmanClient.cpp" "src/cpp/WsmanEPR.cpp" "src/cpp/WsmanFilter.cpp" "src/cpp/WsmanOptions.cpp")
SET(LIB_FILES_FIXED "")
FOREACH(f ${LIB_FILES})
LIST(APPEND LIB_FILES_FIXED "${OPENWSMAN_MASTER}/${f} ")
ENDFOREACH(f)
FOREACH(f ${LIB_FILES_U})
LIST(APPEND LIB_FILES_FIXED "${OPENWSMAN_MASTER}/${f} ")
ENDFOREACH(f)
FOREACH(f ${LIB_FILES_CPP})
LIST(APPEND LIB_FILES_FIXED "${OPENWSMAN_MASTER}/${f} ")
ENDFOREACH(f)
add_library(libxml2_bin OBJECT IMPORTED)
get_filename_component(LIBXML2_LIB_PATH "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/${CMAKE_BUILD_TYPE}/libxml2.lib" ABSOLUTE)
set_property(TARGET libxml2_bin PROPERTY IMPORTED_OBJECTS ${LIBXML2_LIB_PATH})
add_library(openwsman STATIC ${LIB_FILES_FIXED} $<TARGET_OBJECTS:libxml2_bin> )
include_directories("./" "${OPENWSMAN_MASTER}/include" "${OPENWSMAN_MASTER}/src/lib" "${LIBXML2}" "${LIBXML2_MASTER}/include")
target_link_libraries(openwsman libxml2)
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")