Update CMakeLists.txt
This commit is contained in:
parent
43e95ead77
commit
8cc35731bb
|
@ -4,53 +4,32 @@ project(TerraVisor)
|
||||||
set(CMAKE_CXX_STANDARD 17)
|
set(CMAKE_CXX_STANDARD 17)
|
||||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||||
|
|
||||||
# Define output directories for different configurations
|
|
||||||
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
|
|
||||||
|
|
||||||
if (WIN32)
|
|
||||||
set(VCPKG_ROOT "C:/users/jmchr/vcpkg")
|
|
||||||
set(FreeImage_INCLUDE_DIR ${VCPKG_ROOT}/packages/freeimage_x64-windows/include)
|
|
||||||
set(FreeImage_LIBRARIES ${VCPKG_ROOT}/packages/freeimage_x64-windows/lib/FreeImage.lib)
|
|
||||||
else()
|
|
||||||
set(VCPKG_ROOT "/vcpkg")
|
|
||||||
set(FreeImage_INCLUDE_DIR ${VCPKG_ROOT}/packages/freeimage_x64-linux/include)
|
|
||||||
set(FreeImage_LIBRARIES ${VCPKG_ROOT}/packages/freeimage_x64-linux/lib/libFreeImage.a)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
#include(C:/users/jmchr/vcpkg/scripts/buildsystems/vcpkg.cmake)
|
|
||||||
|
|
||||||
# Use the vcpkg toolchain file
|
# Use the vcpkg toolchain file
|
||||||
if(DEFINED ENV{VCPKG_TOOLCHAIN})
|
#set(CMAKE_TOOLCHAIN_FILE "C:/vcpkg/scripts/buildsystems/vcpkg.cmake" CACHE STRING "Vcpkg toolchain file")
|
||||||
set(CMAKE_TOOLCHAIN_FILE $ENV{VCPKG_TOOLCHAIN})
|
|
||||||
endif()
|
include(C:/vcpkg/scripts/buildsystems/vcpkg.cmake)
|
||||||
|
|
||||||
# Find packages using vcpkg
|
# Find packages using vcpkg
|
||||||
find_package(GLEW CONFIG REQUIRED)
|
find_package(GLEW CONFIG REQUIRED)
|
||||||
find_package(glfw3 CONFIG REQUIRED)
|
find_package(glfw3 CONFIG REQUIRED)
|
||||||
find_package(glm CONFIG REQUIRED)
|
find_package(glm CONFIG REQUIRED)
|
||||||
find_package(assimp CONFIG REQUIRED)
|
find_package(assimp CONFIG REQUIRED)
|
||||||
find_package(FreeImage REQUIRED)
|
|
||||||
|
|
||||||
|
if (WIN32)
|
||||||
|
set(FreeImage_INCLUDE_DIR $ENV{VCPKG_ROOT}/packages/freeimage_x64-windows/include)
|
||||||
|
set(FreeImage_LIBRARIES $ENV{VCPKG_ROOT}/packages/freeimage_x64-windows/lib/FreeImage.lib)
|
||||||
|
elseif (UNIX)
|
||||||
|
set(FreeImage_INCLUDE_DIR $ENV{VCPKG_ROOT}/packages/freeimage_x64-linux/include)
|
||||||
|
set(FreeImage_LIBRARIES $ENV{VCPKG_ROOT}/packages/freeimage_x64-linux/lib/libFreeImage.a)
|
||||||
|
endif
|
||||||
|
|
||||||
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG "${CMAKE_BINARY_DIR}")
|
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG "${CMAKE_BINARY_DIR}")
|
||||||
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE "${CMAKE_BINARY_DIR}")
|
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE "${CMAKE_BINARY_DIR}")
|
||||||
|
|
||||||
# Add source files
|
# Add source files
|
||||||
file(GLOB_RECURSE SOURCES
|
file(GLOB_RECURSE SOURCES "${CMAKE_SOURCE_DIR}/source/*.cpp")
|
||||||
"${CMAKE_SOURCE_DIR}/source/*.cpp"
|
file(GLOB_RECURSE HEADERS "${CMAKE_SOURCE_DIR}/include/*.h")
|
||||||
)
|
file(GLOB SHADERS "${CMAKE_SOURCE_DIR}/shaders/*.glsl")
|
||||||
|
|
||||||
# Add header files
|
|
||||||
file(GLOB_RECURSE HEADERS
|
|
||||||
"${CMAKE_SOURCE_DIR}/include/*.h"
|
|
||||||
)
|
|
||||||
|
|
||||||
# Add shader files
|
|
||||||
file(GLOB SHADERS
|
|
||||||
"${CMAKE_SOURCE_DIR}/shaders/*.glsl"
|
|
||||||
)
|
|
||||||
|
|
||||||
# Add ImGui source files
|
|
||||||
file(GLOB IMGUI_SOURCES
|
file(GLOB IMGUI_SOURCES
|
||||||
"${CMAKE_SOURCE_DIR}/imgui/*.cpp"
|
"${CMAKE_SOURCE_DIR}/imgui/*.cpp"
|
||||||
"${CMAKE_SOURCE_DIR}/imgui/backends/imgui_impl_glfw.cpp"
|
"${CMAKE_SOURCE_DIR}/imgui/backends/imgui_impl_glfw.cpp"
|
||||||
|
@ -59,11 +38,10 @@ file(GLOB IMGUI_SOURCES
|
||||||
|
|
||||||
message(STATUS "Sources: ${SOURCES}")
|
message(STATUS "Sources: ${SOURCES}")
|
||||||
|
|
||||||
|
|
||||||
# Add the executable
|
# Add the executable
|
||||||
add_executable(TerraVisor ${SOURCES} ${HEADERS} ${IMGUI_SOURCES})
|
add_executable(TerraVisor ${SOURCES} ${HEADERS} ${IMGUI_SOURCES})
|
||||||
|
|
||||||
# Include directories
|
# Include directories (handled by find_package now)
|
||||||
include_directories(
|
include_directories(
|
||||||
${CMAKE_SOURCE_DIR}/include
|
${CMAKE_SOURCE_DIR}/include
|
||||||
${CMAKE_SOURCE_DIR}/imgui
|
${CMAKE_SOURCE_DIR}/imgui
|
||||||
|
@ -71,23 +49,14 @@ include_directories(
|
||||||
${FreeImage_INCLUDE_DIR}
|
${FreeImage_INCLUDE_DIR}
|
||||||
)
|
)
|
||||||
|
|
||||||
target_link_libraries(TerraVisor PRIVATE GLEW::GLEW glfw glm::glm assimp::assimp ${FreeImage_LIBRARIES})
|
|
||||||
|
|
||||||
# Link libraries using vcpkg
|
# Link libraries using vcpkg
|
||||||
# Link the FreeImage library explicitly
|
target_link_libraries(TerraVisor PRIVATE GLEW::GLEW glfw glm::glm assimp::assimp {FreeImage_LIBRARIES})
|
||||||
#if (WIN32)
|
|
||||||
# target_link_libraries(TerraVisor PRIVATE GLEW::GLEW glfw glm::glm assimp::assimp "${VCPKG_ROOT}/installed/x64-windows/lib/FreeImage.lib")
|
|
||||||
#else()
|
|
||||||
# target_link_libraries(TerraVisor PRIVATE GLEW::GLEW glfw glm::glm assimp::assimp "${VCPKG_ROOT}/installed/x64-linux/lib/libFreeImage.a")
|
|
||||||
#endif()
|
|
||||||
|
|
||||||
# Custom target for shaders
|
# Custom targets
|
||||||
add_custom_target(copy_shaders ALL
|
add_custom_target(copy_shaders ALL
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy_directory
|
COMMAND ${CMAKE_COMMAND} -E copy_directory
|
||||||
${CMAKE_SOURCE_DIR}/shaders ${CMAKE_BINARY_DIR}/shaders
|
${CMAKE_SOURCE_DIR}/shaders ${CMAKE_BINARY_DIR}/shaders
|
||||||
)
|
)
|
||||||
|
|
||||||
# Custom target for hgt
|
|
||||||
add_custom_target(copy_hgt ALL
|
add_custom_target(copy_hgt ALL
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy_directory
|
COMMAND ${CMAKE_COMMAND} -E copy_directory
|
||||||
${CMAKE_SOURCE_DIR}/hgt ${CMAKE_BINARY_DIR}/hgt
|
${CMAKE_SOURCE_DIR}/hgt ${CMAKE_BINARY_DIR}/hgt
|
||||||
|
|
Loading…
Reference in New Issue