diff --git a/StgSharp.Native/lib/CMakeLists.txt b/StgSharp.Native/lib/CMakeLists.txt new file mode 100644 index 00000000..1759b49f --- /dev/null +++ b/StgSharp.Native/lib/CMakeLists.txt @@ -0,0 +1,22 @@ +cmake_minimum_required(VERSION 3.16) + +if(NOT DEFINED STGSHARP_NATIVE_EXTERNAL_TARGET) + message(FATAL_ERROR "STGSHARP_NATIVE_EXTERNAL_TARGET must be set before adding lib/.") +endif() + +include(${CMAKE_CURRENT_LIST_DIR}/../ExternalLibs.cmake OPTIONAL) + +file(GLOB LIB_PACKAGE_DIRS RELATIVE ${CMAKE_CURRENT_LIST_DIR} ${CMAKE_CURRENT_LIST_DIR}/*) + +foreach(_pkg ${LIB_PACKAGE_DIRS}) + set(_pkg_dir ${CMAKE_CURRENT_LIST_DIR}/${_pkg}) + if(NOT IS_DIRECTORY ${_pkg_dir}) + continue() + endif() + + if(EXISTS ${_pkg_dir}/CMakeLists.txt) + add_subdirectory(${_pkg_dir}) + else() + sn_register_external_package(${STGSHARP_NATIVE_EXTERNAL_TARGET} ${_pkg} ${_pkg_dir}) + endif() +endforeach() \ No newline at end of file diff --git a/StgSharp.Native/lib/glfw/CMakeLists.txt b/StgSharp.Native/lib/glfw/CMakeLists.txt new file mode 100644 index 00000000..2abbadd6 --- /dev/null +++ b/StgSharp.Native/lib/glfw/CMakeLists.txt @@ -0,0 +1,11 @@ +cmake_minimum_required(VERSION 3.16) + +sn_register_external_package(${STGSHARP_NATIVE_EXTERNAL_TARGET} glfw ${CMAKE_CURRENT_LIST_DIR}) + +if(WIN32) + if(NOT EXISTS ${CMAKE_CURRENT_LIST_DIR}/glfw3_mt.lib) + message(FATAL_ERROR "Required GLFW static library not found: ${CMAKE_CURRENT_LIST_DIR}/glfw3_mt.lib") + endif() + + sn_link_external_binary_if_exists(${STGSHARP_NATIVE_EXTERNAL_TARGET} ${CMAKE_CURRENT_LIST_DIR}/glfw3_mt.lib) +endif() \ No newline at end of file diff --git a/StgSharp.Native/lib/stbi/CMakeLists.txt b/StgSharp.Native/lib/stbi/CMakeLists.txt new file mode 100644 index 00000000..829639a4 --- /dev/null +++ b/StgSharp.Native/lib/stbi/CMakeLists.txt @@ -0,0 +1,3 @@ +cmake_minimum_required(VERSION 3.16) + +sn_register_external_package(${STGSHARP_NATIVE_EXTERNAL_TARGET} stbi ${CMAKE_CURRENT_LIST_DIR}) \ No newline at end of file