2022-12-19 21:59:02 +01:00
|
|
|
|
# CMakeList.txt : Top-level CMake project file, do global configuration
|
|
|
|
|
# and include sub-projects here.
|
|
|
|
|
#
|
|
|
|
|
cmake_minimum_required (VERSION 3.8)
|
|
|
|
|
|
2022-12-21 07:09:29 +01:00
|
|
|
|
cmake_policy(SET CMP0074 NEW)
|
|
|
|
|
|
|
|
|
|
|
2022-12-20 04:41:03 +01:00
|
|
|
|
set(GLFW_BUILD_DOCS OFF CACHE BOOL "" FORCE)
|
|
|
|
|
set(GLFW_BUILD_TESTS OFF CACHE BOOL "" FORCE)
|
|
|
|
|
set(GLFW_BUILD_EXAMPLES OFF CACHE BOOL "" FORCE)
|
|
|
|
|
add_subdirectory(lib/glfw-3.3.8)
|
|
|
|
|
|
2022-12-21 07:09:29 +01:00
|
|
|
|
|
|
|
|
|
set(PNG_BUILD_ZLIB ON)
|
|
|
|
|
set(PNG_SHARED OFF)
|
|
|
|
|
set(PNG_STATIC ON)
|
|
|
|
|
set(PNG_EXECUTABLES OFF)
|
|
|
|
|
set(PNG_TESTS OFF)
|
|
|
|
|
set(BUILD_SHARED_LIBS OFF)
|
|
|
|
|
set(SKIP_INSTALL_ALL ON)
|
|
|
|
|
set(ZLIB_INCLUDE_DIRS "${CMAKE_SOURCE_DIR}/lib/zlib-1.2.13" "${CMAKE_BINARY_DIR}/lib/zlib-1.2.13")
|
|
|
|
|
add_subdirectory(lib/zlib-1.2.13)
|
|
|
|
|
set(ZLIB_LIBRARY zlib)
|
|
|
|
|
add_subdirectory(lib/lpng1639)
|
|
|
|
|
|
2022-12-20 04:41:03 +01:00
|
|
|
|
project ("glew")
|
|
|
|
|
|
|
|
|
|
add_library(glew STATIC "lib/glew-2.1.0/src/glew.c" "lib/glew-2.1.0/include/GL/glew.h")
|
|
|
|
|
target_link_libraries(glew opengl32)
|
|
|
|
|
target_include_directories(glew PRIVATE lib/glew-2.1.0/include)
|
|
|
|
|
set_target_properties(glew PROPERTIES C_STANDARD 11 C_STANDARD_REQUIRED YES C_EXTENSIONS YES)
|
|
|
|
|
set_target_properties(glew PROPERTIES COMPILE_FLAGS "-Wno-everything")
|
|
|
|
|
target_compile_definitions(glew PUBLIC GLEW_STATIC)
|
|
|
|
|
|
2022-12-19 21:59:02 +01:00
|
|
|
|
project ("skunkworks")
|
2022-12-21 07:09:29 +01:00
|
|
|
|
set(SOURCE
|
|
|
|
|
src/gl.h
|
|
|
|
|
src/skunkworks.c
|
|
|
|
|
src/skunkworks.h
|
|
|
|
|
src/test.c
|
|
|
|
|
src/vec2i.c
|
|
|
|
|
src/window.c
|
|
|
|
|
|
|
|
|
|
include/vec2i.h
|
|
|
|
|
include/window.h
|
|
|
|
|
)
|
2022-12-19 21:59:02 +01:00
|
|
|
|
|
2022-12-21 07:09:29 +01:00
|
|
|
|
add_executable (skunkworks ${SOURCE})
|
|
|
|
|
target_link_libraries(skunkworks glfw glew png_static zlibstatic)
|
|
|
|
|
target_include_directories(skunkworks PRIVATE
|
|
|
|
|
lib/glfw-3.8.8/include
|
|
|
|
|
lib/glew-2.1.0/include
|
|
|
|
|
lib/lpng1639
|
|
|
|
|
build/lib/lpng1639
|
|
|
|
|
include
|
|
|
|
|
)
|
2022-12-19 21:59:02 +01:00
|
|
|
|
|
|
|
|
|
set_target_properties(skunkworks PROPERTIES C_STANDARD 90 C_STANDARD_REQUIRED YES C_EXTENSIONS NO)
|
2022-12-20 04:41:03 +01:00
|
|
|
|
set_target_properties(skunkworks PROPERTIES COMPILE_FLAGS "-Wall -Werror -pedantic")
|
|
|
|
|
add_custom_command(TARGET skunkworks POST_BUILD
|
|
|
|
|
COMMAND $<$<CONFIG:release>:llvm-strip>
|
|
|
|
|
ARGS --strip-all $<TARGET_FILE:skunkworks>)
|