CMakeLists.txt 888 B

12345678910111213141516171819202122232425262728293031323334353637
  1. set(CMAKE_POSITION_INDEPENDENT_CODE True)
  2. add_executable(test_target_executable_global
  3. "${CMAKE_CURRENT_SOURCE_DIR}/../pic_main.cpp"
  4. )
  5. add_library(test_target_shared_library_global
  6. SHARED "${CMAKE_CURRENT_SOURCE_DIR}/../pic_lib.cpp"
  7. )
  8. set_target_properties(test_target_shared_library_global
  9. PROPERTIES DEFINE_SYMBOL PIC_TEST_BUILD_DLL
  10. )
  11. add_library(test_target_static_library_global
  12. STATIC "${CMAKE_CURRENT_SOURCE_DIR}/../pic_lib.cpp"
  13. )
  14. set_target_properties(test_target_static_library_global
  15. PROPERTIES COMPILE_DEFINITIONS PIC_TEST_STATIC_BUILD
  16. )
  17. file(READ
  18. "${CMAKE_CURRENT_SOURCE_DIR}/../pic_test.h"
  19. PIC_HEADER_CONTENT
  20. )
  21. check_cxx_source_compiles(
  22. "
  23. ${PIC_HEADER_CONTENT}
  24. int main(int,char**) { return 0; }\n"
  25. PIC_TRY_COMPILE_RESULT
  26. )
  27. if (NOT PIC_TRY_COMPILE_RESULT)
  28. message(SEND_ERROR "TRY_COMPILE with content requiring __PIC__ failed. ${OUTPUT}")
  29. endif()