53 lines
1.7 KiB
CMake

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)