CMakeLists.txt 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. # raylib
  2. find_package(raylib QUIET)
  3. if (NOT raylib_FOUND)
  4. include(FetchContent)
  5. FetchContent_Declare(
  6. raylib
  7. GIT_REPOSITORY https://github.com/raysan5/raylib.git
  8. GIT_TAG 4.2.0
  9. )
  10. FetchContent_GetProperties(raylib)
  11. if (NOT raylib_POPULATED) # Have we downloaded raylib yet?
  12. set(FETCHCONTENT_QUIET NO)
  13. FetchContent_Populate(raylib)
  14. set(BUILD_EXAMPLES OFF CACHE BOOL "" FORCE)
  15. set(BUILD_GAMES OFF CACHE BOOL "" FORCE)
  16. add_subdirectory(${raylib_SOURCE_DIR} ${raylib_BINARY_DIR})
  17. endif()
  18. endif()
  19. # raylib-nuklear-example
  20. add_executable(raylib-nuklear-example
  21. raylib-nuklear-example.c
  22. )
  23. target_link_libraries(raylib-nuklear-example PUBLIC
  24. raylib
  25. raylib_nuklear
  26. )
  27. # raylib-nuklear-demo
  28. add_executable(raylib-nuklear-demo
  29. raylib-nuklear-demo.c
  30. )
  31. target_link_libraries(raylib-nuklear-demo PUBLIC
  32. raylib
  33. raylib_nuklear
  34. )
  35. # raylib-nuklear-font
  36. add_executable(raylib-nuklear-font
  37. raylib-nuklear-font.c
  38. )
  39. target_link_libraries(raylib-nuklear-font PUBLIC
  40. raylib
  41. raylib_nuklear
  42. )
  43. # raylib-nuklear-texture
  44. add_executable(raylib-nuklear-texture
  45. raylib-nuklear-texture.c
  46. )
  47. target_link_libraries(raylib-nuklear-texture PUBLIC
  48. raylib
  49. raylib_nuklear
  50. )
  51. # Target C99
  52. set_property(TARGET raylib-nuklear-example PROPERTY C_STANDARD 99)
  53. set_property(TARGET raylib-nuklear-demo PROPERTY C_STANDARD 99)
  54. set_property(TARGET raylib-nuklear-font PROPERTY C_STANDARD 99)
  55. set_property(TARGET raylib-nuklear-texture PROPERTY C_STANDARD 99)
  56. # Enable warnings
  57. if(MSVC)
  58. target_compile_options(raylib-nuklear-example PRIVATE /W4 /WX)
  59. target_compile_options(raylib-nuklear-demo PRIVATE /W4 /WX)
  60. target_compile_options(raylib-nuklear-font PRIVATE /W4 /WX)
  61. target_compile_options(raylib-nuklear-texture PRIVATE /W4 /WX)
  62. else()
  63. target_compile_options(raylib-nuklear-example PRIVATE -Wall -Wextra -Wpedantic -Werror)
  64. target_compile_options(raylib-nuklear-demo PRIVATE -Wall -Wextra -Wpedantic -Werror)
  65. target_compile_options(raylib-nuklear-font PRIVATE -Wall -Wextra -Wpedantic -Werror)
  66. target_compile_options(raylib-nuklear-texture PRIVATE -Wall -Wextra -Wpedantic -Werror)
  67. endif()
  68. # Resources
  69. configure_file(resources/anonymous_pro_bold.ttf resources/anonymous_pro_bold.ttf COPYONLY)
  70. configure_file(resources/test-image.png resources/test-image.png COPYONLY)