This commit is contained in:
2024-01-02 16:59:09 -05:00
parent 9d1e699f6e
commit 25e6eadbf3

View File

@@ -1,16 +1,14 @@
cmake_minimum_required(VERSION 3.18)
project(Re3D
VERSION 1.0
LANGUAGES CXX
VERSION 1.0
LANGUAGES CXX
)
if (PROJECT_SOURCE_DIR STREQUAL PROJECT_BINARY_DIR)
message(FATAL_ERROR "In-source builds are not allowed")
endif()
set(CMAKE_CXX_STANDARD 20)
#set(CMAKE_POSITION_INDEPENDENT_CODE ON)
if (WIN32)
set(CMAKE_CXX_FLAGS "-municode")
endif(WIN32)
@@ -27,15 +25,10 @@ file(GLOB_RECURSE ASSETS "assets/*")
include_directories("include")
add_library(Re3D SHARED ${SOURCES})
# Why god???
set_target_properties(Re3D PROPERTIES LINKER_LANGUAGE CXX)
CPMAddPackage(
NAME glm
GITHUB_REPOSITORY g-truc/glm
OPTIONS "GLM_STATIC_LIBRARY_ENABLE"
#SOURCE_SUBDIR glm
GIT_TAG 0.9.9.8
)
@@ -49,24 +42,24 @@ CPMAddPackage(
URL https://git.redacted.cc/Redacted/ReHardwareID/archive/v1.0.zip
)
if(ReWindowLibrary_ADDED)
set(REWINDOW_INCLUDE_DIRS ${PROJECT_BINARY_DIR}/_deps/rewindowlibrary-src/include)
add_library(ReWindow SHARED IMPORTED)
set_target_properties(ReWindow PROPERTIES IMPORTED_LOCATION "${ReWindowLibrary_LIBRARIES}")
endif()
CPMAddPackage(
NAME J3ML
URL https://git.redacted.cc/josh/j3ml/archive/pre-1.zip
)
if(ReHardwareID_ADDED)
set(REHARDWAREID_INCLUDE_DIRS ${PROJECT_BINARY_DIR}/_deps/rehardwareid-src/include)
#add_library(ReHardwareID SHARED IMPORTED)
set_target_properties(ReHardwareID PROPERTIES IMPORTED_LOCATION "${ReHardwareID_LIBRARIES}")
endif()
include_directories(
${PROJECT_SOURCE_DIR}/include
#${glm_SOURCE_DIR}
${ReWindowLibrary_SOURCE_DIR}/include
${ReHardwareID_SOURCE_DIR}/include
${J3ML_SOURCE_DIR}/include
)
add_library(Re3D SHARED ${SOURCES})
# Why god???
set_target_properties(Re3D PROPERTIES LINKER_LANGUAGE CXX)
include_directories(${REHARDWAREID_INCLUDE_DIRS})
include_directories(${REWINDOW_INCLUDE_DIRS})
find_package(OpenGL REQUIRED)
include_directories({$OPENGL_INCLUDE_DIRS})
find_package(glm REQUIRED)
find_package(ReWindowLibrary REQUIRED)
target_link_libraries(Re3D PUBLIC glm::glm ReWindowLibrary ReHardwareID ${OPENGL_LIBRARIES})
add_executable(Re3D_Demo "include/demo/main.cpp")
target_link_libraries(Re3D_Demo PUBLIC Re3D)
target_link_libraries(Re3D_Demo PUBLIC Re3D ReWindowLibrary ReHardwareID J3ML ${OPENGL_LIBRARIES})