| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- # raylib
- find_package(raylib QUIET)
- if (NOT raylib_FOUND)
- include(FetchContent)
- FetchContent_Declare(
- raylib
- GIT_REPOSITORY https://github.com/raysan5/raylib.git
- GIT_TAG 5.5
- GIT_SHALLOW 1
- )
- FetchContent_GetProperties(raylib)
- if (NOT raylib_POPULATED) # Have we downloaded raylib yet?
- set(FETCHCONTENT_QUIET NO)
- FetchContent_Populate(raylib)
- set(BUILD_EXAMPLES OFF CACHE BOOL "" FORCE)
- set(BUILD_GAMES OFF CACHE BOOL "" FORCE)
- add_subdirectory(${raylib_SOURCE_DIR} ${raylib_BINARY_DIR})
- endif()
- endif()
- # raylib-nuklear-example
- add_executable(raylib-nuklear-example
- raylib-nuklear-example.c
- )
- target_link_libraries(raylib-nuklear-example PUBLIC
- raylib
- raylib_nuklear
- )
- # raylib-nuklear-demo
- add_executable(raylib-nuklear-demo
- raylib-nuklear-demo.c
- )
- target_link_libraries(raylib-nuklear-demo PUBLIC
- raylib
- raylib_nuklear
- )
- # raylib-nuklear-font
- add_executable(raylib-nuklear-font
- raylib-nuklear-font.c
- )
- target_link_libraries(raylib-nuklear-font PUBLIC
- raylib
- raylib_nuklear
- )
- # raylib-nuklear-font
- add_executable(raylib-nuklear-font-default
- raylib-nuklear-font-default.c
- )
- target_link_libraries(raylib-nuklear-font-default PUBLIC
- raylib
- raylib_nuklear
- )
- # raylib-nuklear-texture
- add_executable(raylib-nuklear-texture
- raylib-nuklear-texture.c
- )
- target_link_libraries(raylib-nuklear-texture PUBLIC
- raylib
- raylib_nuklear
- )
- # Target C99
- set_property(TARGET raylib-nuklear-example PROPERTY C_STANDARD 99)
- set_property(TARGET raylib-nuklear-demo PROPERTY C_STANDARD 99)
- set_property(TARGET raylib-nuklear-font PROPERTY C_STANDARD 99)
- set_property(TARGET raylib-nuklear-texture PROPERTY C_STANDARD 99)
- # Enable warnings
- if(MSVC)
- target_compile_options(raylib-nuklear-example PRIVATE /W4 /WX)
- target_compile_options(raylib-nuklear-demo PRIVATE /W4 /WX)
- target_compile_options(raylib-nuklear-font PRIVATE /W4 /WX)
- target_compile_options(raylib-nuklear-texture PRIVATE /W4 /WX)
- else()
- target_compile_options(raylib-nuklear-example PRIVATE -Wall -Wextra -Wpedantic -Werror)
- target_compile_options(raylib-nuklear-demo PRIVATE -Wall -Wextra -Wpedantic -Werror)
- target_compile_options(raylib-nuklear-font PRIVATE -Wall -Wextra -Wpedantic -Werror)
- target_compile_options(raylib-nuklear-texture PRIVATE -Wall -Wextra -Wpedantic -Werror)
- endif()
- # Resources
- configure_file(resources/anonymous_pro_bold.ttf resources/anonymous_pro_bold.ttf COPYONLY)
- configure_file(resources/test-image.png resources/test-image.png COPYONLY)
- # Web Configurations
- #if (${PLATFORM} STREQUAL "Web")
- if (EMSCRIPTEN)
- # Tell Emscripten to build an example.html file.
- set_target_properties(raylib-nuklear-demo PROPERTIES SUFFIX ".html")
- set_target_properties(raylib-nuklear-demo PROPERTIES OUTPUT_NAME "index")
- set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} --shell-file ${CMAKE_CURRENT_SOURCE_DIR}/minshell.html")
- set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -s USE_GLFW=3")
- add_definitions(-DPLATFORM=Web)
- add_definitions(-DCMAKE_BUILD_TYPE=Release)
- endif()
|