CMakeLists.txt 922 B

1234567891011121314151617181920212223242526272829303132333435
  1. if (NOT JPH_SAMPLES)
  2. return ()
  3. endif ()
  4. function(add_sample SAMPLE_NAME)
  5. file(GLOB SOURCE_FILES
  6. "${CMAKE_CURRENT_SOURCE_DIR}/${SAMPLE_NAME}/*.h"
  7. "${CMAKE_CURRENT_SOURCE_DIR}/${SAMPLE_NAME}/*.c"
  8. "${CMAKE_CURRENT_SOURCE_DIR}/${SAMPLE_NAME}/*.cpp"
  9. )
  10. if (ANDROID)
  11. add_library(${SAMPLE_NAME} SHARED ${SOURCE_FILES})
  12. else ()
  13. add_executable(${SAMPLE_NAME} ${SOURCE_FILES})
  14. endif ()
  15. if (DOUBLE_PRECISION)
  16. target_link_libraries(${SAMPLE_NAME} LINK_PUBLIC joltc_double)
  17. else()
  18. target_link_libraries(${SAMPLE_NAME} LINK_PUBLIC joltc)
  19. endif ()
  20. if (MSVC)
  21. target_link_options(${SAMPLE_NAME} PUBLIC "/SUBSYSTEM:CONSOLE")
  22. endif()
  23. set_target_properties(${SAMPLE_NAME} PROPERTIES
  24. VS_DEBUGGER_WORKING_DIRECTORY "$<TARGET_FILE_DIR:${SAMPLE_NAME}>"
  25. FOLDER "samples"
  26. )
  27. endfunction()
  28. # Add samples
  29. add_sample(01_HelloWorld)