diff --git a/CMakeLists.txt b/CMakeLists.txt index d60e6d7b62..d678f37ae6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -22,6 +22,11 @@ cmake_minimum_required(VERSION 3.2.0 FATAL_ERROR) include(ExternalProject) +# Set the configuration type +set(CMAKE_CONFIGURATION_TYPES + ${CMAKE_BUILD_TYPE} +) + project(igdrcl) if(TR_DEPRECATED) @@ -63,6 +68,14 @@ endif() set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_STANDARD_REQUIRED ON) +# We want to build with the static, multithreaded runtime libraries (as opposed +# to the multithreaded runtime DLLs) +if(MSVC) + string(REPLACE "/MDd" "/MTd" CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}") + string(REPLACE "/MD" "/MT" CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}") + string(REPLACE "/MD" "/MT" CMAKE_CXX_FLAGS_RELEASE-INTERNAL "${CMAKE_CXX_FLAGS_RELEASE-INTERNAL}") +endif(MSVC) + if(NOT GTEST_SRC_DIR) set(GTEST_SRC_DIR_tmp "${CMAKE_SOURCE_DIR}/../gtest") get_filename_component(GTEST_SRC_DIR ${GTEST_SRC_DIR_tmp} ABSOLUTE) @@ -81,14 +94,6 @@ add_subdirectory(${GMOCK_SRC_DIR} ${IGDRCL_BINARY_DIR}/gmock) set_target_properties(gtest PROPERTIES CXX_STANDARD 11 CXX_STANDARD_REQUIRED ON) set_target_properties(gmock PROPERTIES CXX_STANDARD 11 CXX_STANDARD_REQUIRED ON) -set(gtest_lib gtest) -set(gmock_lib gmock) - -if("${BUILD_TYPE_lower}" STREQUAL "release-internal") - set(gtest_lib ${IGDRCL_BINARY_DIR}/gmock/gtest/Release/gtest${CMAKE_STATIC_LIBRARY_SUFFIX}) - set(gmock_lib ${IGDRCL_BINARY_DIR}/gmock/Release/gmock${CMAKE_STATIC_LIBRARY_SUFFIX}) -endif("${BUILD_TYPE_lower}" STREQUAL "release-internal") - if(CMAKE_SIZEOF_VOID_P EQUAL 8) set(NEO_BITS "64") set(NEO_ARCH "x64") @@ -273,11 +278,6 @@ set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${IGDRCL_BINARY_DIR}/lib) # do not add rpath set(CMAKE_SKIP_RPATH YES CACHE BOOL "" FORCE ) -# Set the configuration type -set(CMAKE_CONFIGURATION_TYPES - ${CMAKE_BUILD_TYPE} -) - set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -D_DEBUG") option(APPVERIFIER_ALLOWED "allow use of AppVerifier" TRUE) @@ -335,8 +335,6 @@ if(OCL_RUNTIME_PROFILING) add_definitions(-DOCL_RUNTIME_PROFILING=${OCL_RUNTIME_PROFILING}) endif() -# We want to build with the static, multithreaded runtime libraries (as opposed -# to the multithreaded runtime DLLs) if(MSVC) # Get WDK version from ${WDK_DIR}/Win15/WDKVersion.txt file(READ "${WDK_DIR}/Win15/WDKVersion.txt" WindowsTargetPlatformVersion) @@ -359,10 +357,6 @@ if(MSVC) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /WX") endif() MESSAGE(STATUS "WDK include paths: ${WDK_INCLUDE_PATHS}") - - string(REPLACE "/MDd" "/MTd" CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}") - string(REPLACE "/MD" "/MT" CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}") - string(REPLACE "/MD" "/MT" CMAKE_CXX_FLAGS_RELEASE-INTERNAL "${CMAKE_CXX_FLAGS_RELEASE-INTERNAL}") else() if(IGDRCL_GCOV) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage --coverage") diff --git a/unit_tests/CMakeLists.txt b/unit_tests/CMakeLists.txt index 95882cfb2e..6a6a6e63ac 100644 --- a/unit_tests/CMakeLists.txt +++ b/unit_tests/CMakeLists.txt @@ -222,7 +222,7 @@ if(MSVC) ${WDK_INCLUDE_PATHS} ) message(STATUS "TargetDir is: ${TargetDir}") - target_link_libraries (igdrcl_tests ${gtest_lib} ${gmock_lib} Ws2_32.lib) + target_link_libraries (igdrcl_tests gtest gmock Ws2_32.lib) else() add_executable(igdrcl_linux "main_linux.cpp" @@ -243,9 +243,9 @@ else() ${IGDRCL_SOURCE_DIR}/unit_tests/mocks/mock_gmm_resource_info.cpp ${IGDRCL_SOURCE_DIR}/unit_tests/program/evaluate_unhandled_token_ult.cpp ) - target_link_libraries(igdrcl_linux ${gtest_lib} ${gmock_lib} ${NEO_MOCKABLE_LIB_NAME} dl pthread) - target_link_libraries(igdrcl_linux_dll_tests ${gtest_lib} ${gmock_lib} ${NEO_MOCKABLE_LIB_NAME} dl pthread) - target_link_libraries(igdrcl_tests dl pthread ${gtest_lib} ${gmock_lib}) + target_link_libraries(igdrcl_linux gtest gmock ${NEO_MOCKABLE_LIB_NAME} dl pthread) + target_link_libraries(igdrcl_linux_dll_tests gtest gmock ${NEO_MOCKABLE_LIB_NAME} dl pthread) + target_link_libraries(igdrcl_tests dl pthread gtest gmock) set_property(TARGET igdrcl_linux_dll_tests APPEND_STRING PROPERTY COMPILE_FLAGS ${ASAN_FLAGS}) set_property(TARGET igdrcl_linux APPEND_STRING PROPERTY COMPILE_FLAGS ${ASAN_FLAGS}) diff --git a/unit_tests/aub_tests/CMakeLists.txt b/unit_tests/aub_tests/CMakeLists.txt index 515969d156..d03df34aeb 100644 --- a/unit_tests/aub_tests/CMakeLists.txt +++ b/unit_tests/aub_tests/CMakeLists.txt @@ -95,7 +95,7 @@ endif(MSVC) add_subdirectory(gen9) target_link_libraries(igdrcl_aub_tests ${NEO_MOCKABLE_LIB_NAME}) -target_link_libraries(igdrcl_aub_tests ${gtest_lib} ${gmock_lib}) +target_link_libraries(igdrcl_aub_tests gtest gmock) link_directories(${GMM_LIB_PATHS}) diff --git a/unit_tests/mt_tests/CMakeLists.txt b/unit_tests/mt_tests/CMakeLists.txt index f471596dfa..7a09e319cc 100644 --- a/unit_tests/mt_tests/CMakeLists.txt +++ b/unit_tests/mt_tests/CMakeLists.txt @@ -97,7 +97,7 @@ add_executable(igdrcl_mt_tests EXCLUDE_FROM_ALL ) target_link_libraries(igdrcl_mt_tests ${TSAN_LIB}) target_link_libraries(igdrcl_mt_tests ${NEO_MOCKABLE_LIB_NAME}) -target_link_libraries(igdrcl_mt_tests ${gtest_lib} ${gmock_lib}) +target_link_libraries(igdrcl_mt_tests gtest gmock) target_include_directories(igdrcl_mt_tests PRIVATE ${GTEST_INCLUDE_DIR} diff --git a/unit_tests/tbx/CMakeLists.txt b/unit_tests/tbx/CMakeLists.txt index 9b4110192e..a654e30fb3 100644 --- a/unit_tests/tbx/CMakeLists.txt +++ b/unit_tests/tbx/CMakeLists.txt @@ -31,8 +31,8 @@ add_executable(igdrcl_tbx_tests "${IGDRCL_SOURCE_DIR}/unit_tests/program/evaluate_unhandled_token_ult.cpp" $ ) -add_dependencies(igdrcl_tbx_tests ${NEO_MOCKABLE_LIB_NAME} igdrcl_libult ${gtest_lib} ${gmock_lib}) -target_link_libraries(igdrcl_tbx_tests ${NEO_MOCKABLE_LIB_NAME} ${gtest_lib} ${gmock_lib}) +add_dependencies(igdrcl_tbx_tests gtest gmock) +target_link_libraries(igdrcl_tbx_tests ${NEO_MOCKABLE_LIB_NAME} gtest gmock) target_compile_definitions(igdrcl_tbx_tests PRIVATE MOCKABLE_VIRTUAL=virtual) if(UNIX) target_link_libraries(igdrcl_tbx_tests dl pthread)