project(CimFrameworkAll) cmake_minimum_required (VERSION 3.1) set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/CimBin) set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/CimBin) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/CimBin) set (BUILD_VERSION "$ENV{BUILD_VERSION}") if (NOT BUILD_VERSION) set( ENV{BUILD_VERSION} "99.9.9.7001") endif (NOT BUILD_VERSION) message(STATUS "BUILD_VERSION $ENV{BUILD_VERSION}") string(REPLACE "." ";" VERSION_LIST $ENV{BUILD_VERSION}) list(GET VERSION_LIST 0 MAJOR_VERSION) list(GET VERSION_LIST 1 MINOR_VERSION) list(GET VERSION_LIST 2 QUICK_FIX_NUMBER) list(GET VERSION_LIST 3 VER_BUILD) configure_file(version.h.In ${CMAKE_CURRENT_SOURCE_DIR}/version.h) add_subdirectory (LibXml2) add_subdirectory (CimFrameworkUntyped) add_subdirectory (CimOpenWsmanClient) add_subdirectory (CIMFramework) add_subdirectory (CimWinRMClient) add_executable(CimTest "CimTestMain.cpp" CimFrameworkUntyped CimOpenWsmanClient CIMFramework CimWinRMClient) target_link_libraries(CimTest PRIVATE CimFrameworkUntyped CimOpenWsmanClient CIMFramework CimWinRMClient) add_dependencies(CimOpenWsmanClient CimFrameworkUntyped) add_dependencies(CIMFramework CimFrameworkUntyped) if (MSVC) FOREACH(f CimWinRMClient "CimFrameworkUntyped" "CimOpenWsmanClient" "CIMFramework") target_compile_options(${f} PRIVATE "/MP") add_definitions(-DWIN32) ENDFOREACH(f) 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) SET_TARGET_PROPERTIES(CimTest PROPERTIES LINKER_LANGUAGE CPP)