summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt6
-rw-r--r--NetEx/CMakeLists.txt9
-rw-r--r--Stars45/CMakeLists.txt48
3 files changed, 46 insertions, 17 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 286f0ea..b1cb04b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -2,8 +2,10 @@ cmake_minimum_required(VERSION 3.20)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_EXTENSIONS Yes)
project(Starshatter)
-set(WINDOWSSDK_LIBPATH "C:/Program Files (x86)/Windows Kits/10/Lib/10.0.19041.0" CACHE FILEPATH "Path to a versioned lib directory of selected Windows SDK")
-set(WINDOWSSDK_PATH "C:/Program Files (x86)/Windows Kits/10/Include/10.0.19041.0" CACHE FILEPATH "Path to a versioned include directory of selected Windows SDK")
+if(MSVC)
+ set(WINDOWSSDK_LIBPATH "C:/Program Files (x86)/Windows Kits/10/Lib/10.0.19041.0" CACHE FILEPATH "Path to a versioned lib directory of selected Windows SDK")
+ set(WINDOWSSDK_PATH "C:/Program Files (x86)/Windows Kits/10/Include/10.0.19041.0" CACHE FILEPATH "Path to a versioned include directory of selected Windows SDK")
+endif()
add_subdirectory(Datafile)
# /Doc contains various documentation and pre-generated Doxygen docs.
add_subdirectory(FoundationEx)
diff --git a/NetEx/CMakeLists.txt b/NetEx/CMakeLists.txt
index c3c6652..5bce174 100644
--- a/NetEx/CMakeLists.txt
+++ b/NetEx/CMakeLists.txt
@@ -20,10 +20,15 @@ add_library(
target_include_directories(
NetEx
PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}
- PUBLIC ${WINDOWSSDK_PATH}/um # FIXME
- PUBLIC ${WINDOWSSDK_PATH}/shared
)
target_link_libraries(
NetEx
PUBLIC FoundationEx
)
+if(MSVC)
+ target_include_directories(
+ NetEx
+ PUBLIC ${WINDOWSSDK_PATH}/um
+ PUBLIC ${WINDOWSSDK_PATH}/shared
+ )
+endif()
diff --git a/Stars45/CMakeLists.txt b/Stars45/CMakeLists.txt
index fd0f182..0232606 100644
--- a/Stars45/CMakeLists.txt
+++ b/Stars45/CMakeLists.txt
@@ -280,9 +280,6 @@ target_include_directories(
Stars45
PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}
PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../Opcode # FIXME: Opcode is badly injured.
- PUBLIC $ENV{DXSDK_DIR}/Include
- PUBLIC ${WINDOWSSDK_PATH}/um # FIXME: Resolve this with a Find module or even find out why is going wrong - most sources say that it should be guaranteed.
- PUBLIC ${WINDOWSSDK_PATH}/shared
)
target_precompile_headers(
Stars45
@@ -298,18 +295,43 @@ target_link_libraries(
PUBLIC Ogg::ogg
PUBLIC Png::png
PUBLIC Opcode # FIXME: Add opcode to a namespace.
- PUBLIC ${WINDOWSSDK_LIBPATH}/um/x86/Ws2_32.lib
- PUBLIC ${WINDOWSSDK_LIBPATH}/um/x86/Vfw32.lib
- PUBLIC ${WINDOWSSDK_LIBPATH}/um/x86/wsock32.lib
- PUBLIC ${WINDOWSSDK_LIBPATH}/um/x86/winmm.lib
- PUBLIC ${WINDOWSSDK_LIBPATH}/um/x86/version.lib
- PUBLIC $ENV{DXSDK_DIR}/Lib/x86/dinput8.lib
- PUBLIC $ENV{DXSDK_DIR}/Lib/x86/dsound.lib
- PUBLIC $ENV{DXSDK_DIR}/Lib/x86/d3d9.lib
- PUBLIC $ENV{DXSDK_DIR}/Lib/x86/d3dx9.lib
- PUBLIC $ENV{DXSDK_DIR}/Lib/x86/dxguid.lib
)
target_compile_definitions(
Stars45
PRIVATE _ALLOW_KEYWORD_MACROS
)
+if(MSVC)
+ target_include_directories(
+ Stars45
+ PUBLIC $ENV{DXSDK_DIR}/Include
+ PUBLIC ${WINDOWSSDK_PATH}/um
+ PUBLIC ${WINDOWSSDK_PATH}/shared
+ )
+ target_link_libraries(
+ Stars45
+ PUBLIC ${WINDOWSSDK_LIBPATH}/um/x86/Ws2_32.lib
+ PUBLIC ${WINDOWSSDK_LIBPATH}/um/x86/Vfw32.lib
+ PUBLIC ${WINDOWSSDK_LIBPATH}/um/x86/wsock32.lib
+ PUBLIC ${WINDOWSSDK_LIBPATH}/um/x86/winmm.lib
+ PUBLIC ${WINDOWSSDK_LIBPATH}/um/x86/version.lib
+ PUBLIC $ENV{DXSDK_DIR}/Lib/x86/dinput8.lib
+ PUBLIC $ENV{DXSDK_DIR}/Lib/x86/dsound.lib
+ PUBLIC $ENV{DXSDK_DIR}/Lib/x86/d3d9.lib
+ PUBLIC $ENV{DXSDK_DIR}/Lib/x86/d3dx9.lib
+ PUBLIC $ENV{DXSDK_DIR}/Lib/x86/dxguid.lib
+ )
+else()
+ target_link_libraries(
+ Stars45
+ PUBLIC -l:libws2_32.a
+ PUBLIC -l:libvfw32.a
+ PUBLIC -l:libwsock32.a
+ PUBLIC -l:libwinmm.a
+ PUBLIC -l:libversion.a
+ PUBLIC -l:libdinput8.a
+ PUBLIC -l:libdsound.a
+ PUBLIC -l:libd3d9.a
+ PUBLIC -l:libd3dx9.a
+ PUBLIC -l:libdxguid.a
+ )
+endif()