get Ninja + CCache working on Windows
This commit is contained in:
parent
3ee57afd32
commit
58a036ffb0
3
.gitignore
vendored
3
.gitignore
vendored
@ -5,8 +5,11 @@ lib/
|
|||||||
tiled/
|
tiled/
|
||||||
assets/user/
|
assets/user/
|
||||||
assets/devel/
|
assets/devel/
|
||||||
|
assets/packed.pak
|
||||||
mods/*.pak
|
mods/*.pak
|
||||||
mods/*
|
mods/*
|
||||||
|
*/.vs/
|
||||||
|
*.vs/
|
||||||
*.sln
|
*.sln
|
||||||
*.suo
|
*.suo
|
||||||
*.vcxproj*
|
*.vcxproj*
|
||||||
|
@ -1,13 +1,24 @@
|
|||||||
PROJECT (starbound)
|
CMAKE_MINIMUM_REQUIRED (VERSION 3.4)
|
||||||
|
|
||||||
CMAKE_MINIMUM_REQUIRED (VERSION 3.0)
|
# Find CCache
|
||||||
|
FIND_PROGRAM(CCACHE_PATH ccache)
|
||||||
|
IF (CCACHE_PATH)
|
||||||
|
SET (CMAKE_C_COMPILER_LAUNCHER "${CCACHE_PATH}")
|
||||||
|
SET (CMAKE_CXX_COMPILER_LAUNCHER "${CCACHE_PATH}")
|
||||||
|
MESSAGE (STATUS "Using CCache")
|
||||||
|
ELSE ()
|
||||||
|
MESSAGE (STATUS "Not using CCache")
|
||||||
|
ENDIF ()
|
||||||
|
|
||||||
|
|
||||||
|
PROJECT (starbound)
|
||||||
SET (CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/../cmake)
|
SET (CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/../cmake)
|
||||||
|
|
||||||
SET (CMAKE_CONFIGURATION_TYPES Debug RelWithAsserts RelWithDebInfo Release)
|
SET (CMAKE_CONFIGURATION_TYPES Debug RelWithAsserts RelWithDebInfo Release)
|
||||||
SET (CMAKE_EXE_LINKER_FLAGS_RELWITHASSERTS "" CACHE STRING "" FORCE)
|
SET (CMAKE_EXE_LINKER_FLAGS_RELWITHASSERTS "" CACHE STRING "" FORCE)
|
||||||
# Update the docstring on CMAKE_BUILD_TYPE to show what options we actually
|
# Update the docstring on CMAKE_BUILD_TYPE to show what options we actually
|
||||||
# allow
|
# allow
|
||||||
SET (CMAKE_BUILD_TYPE "${CMAKE_BUILD_TYPE}" CACHE STRING "Choose the type of build, options are: Debug RelWithAsserts RelWithDebInfo Release" FORCE)
|
# SET (CMAKE_BUILD_TYPE "${CMAKE_BUILD_TYPE}" CACHE STRING "Choose the type of build, options are: Debug RelWithAsserts RelWithDebInfo Release" FORCE)
|
||||||
|
|
||||||
# Discover all the relevant environment / system information and place the
|
# Discover all the relevant environment / system information and place the
|
||||||
# result in STAR_* cmake variables.
|
# result in STAR_* cmake variables.
|
||||||
@ -135,7 +146,7 @@ IF (DEFINED STAR_ENABLE_STEAM_INTEGRATION)
|
|||||||
ENDIF ()
|
ENDIF ()
|
||||||
|
|
||||||
IF (DEFINED STAR_ENABLE_DISCORD_INTEGRATION)
|
IF (DEFINED STAR_ENABLE_DISCORD_INTEGRATION)
|
||||||
MESSAGE (STATUS "Using Discrod platform services: ${STAR_ENABLE_DISCORD_INTEGRATION}")
|
MESSAGE (STATUS "Using Discord platform services: ${STAR_ENABLE_DISCORD_INTEGRATION}")
|
||||||
ENDIF ()
|
ENDIF ()
|
||||||
|
|
||||||
MESSAGE (STATUS "Using Lua API checks: ${STAR_LUA_APICHECK}")
|
MESSAGE (STATUS "Using Lua API checks: ${STAR_LUA_APICHECK}")
|
||||||
@ -364,7 +375,11 @@ ELSEIF (STAR_SYSTEM_WINDOWS)
|
|||||||
SET (CMAKE_RC_COMPILER_INIT windres)
|
SET (CMAKE_RC_COMPILER_INIT windres)
|
||||||
|
|
||||||
ENABLE_LANGUAGE (RC)
|
ENABLE_LANGUAGE (RC)
|
||||||
|
IF (STAR_COMPILER STREQUAL "msvc")
|
||||||
|
SET (CMAKE_RC_COMPILE_OBJECT "<CMAKE_RC_COMPILER> /fo <OBJECT> <SOURCE>")
|
||||||
|
ELSE ()
|
||||||
SET (CMAKE_RC_COMPILE_OBJECT "<CMAKE_RC_COMPILER> <FLAGS> -O coff <DEFINES> -i <SOURCE> -o <OBJECT>")
|
SET (CMAKE_RC_COMPILE_OBJECT "<CMAKE_RC_COMPILER> <FLAGS> -O coff <DEFINES> -i <SOURCE> -o <OBJECT>")
|
||||||
|
ENDIF()
|
||||||
ENDIF ()
|
ENDIF ()
|
||||||
|
|
||||||
IF (STAR_COMPILER STREQUAL "msvc")
|
IF (STAR_COMPILER STREQUAL "msvc")
|
||||||
|
46
source/CMakeSettings.json
Normal file
46
source/CMakeSettings.json
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
{
|
||||||
|
"configurations": [
|
||||||
|
{
|
||||||
|
"name": "x64-RelWithDebInfo",
|
||||||
|
"generator": "Ninja",
|
||||||
|
"configurationType": "RelWithDebInfo",
|
||||||
|
"inheritEnvironments": [ "msvc_x64_x64" ],
|
||||||
|
"buildRoot": "${projectDir}\\..\\build",
|
||||||
|
"installRoot": "${projectDir}\\..\\out\\install\\${name}",
|
||||||
|
"cmakeCommandArgs": "-DCMAKE_INCLUDE_PATH=\"..\\lib\\windows64\\include\" -DCMAKE_LIBRARY_PATH=\"..\\lib\\windows64\"",
|
||||||
|
"variables": [
|
||||||
|
{
|
||||||
|
"name": "STAR_ENABLE_STEAM_INTEGRATION",
|
||||||
|
"value": "True",
|
||||||
|
"type": "BOOL"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "STAR_ENABLE_DISCORD_INTEGRATION",
|
||||||
|
"value": "True",
|
||||||
|
"type": "BOOL"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "x64-Release",
|
||||||
|
"generator": "Ninja",
|
||||||
|
"configurationType": "Release",
|
||||||
|
"buildRoot": "${projectDir}\\..\\build",
|
||||||
|
"installRoot": "${projectDir}\\..\\out\\install\\${name}",
|
||||||
|
"cmakeCommandArgs": "-DCMAKE_INCLUDE_PATH=\"..\\lib\\windows64\\include\" -DCMAKE_LIBRARY_PATH=\"..\\lib\\windows64\"",
|
||||||
|
"inheritEnvironments": [ "msvc_x64_x64" ],
|
||||||
|
"variables": [
|
||||||
|
{
|
||||||
|
"name": "STAR_ENABLE_STEAM_INTEGRATION",
|
||||||
|
"value": "True",
|
||||||
|
"type": "BOOL"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "STAR_ENABLE_DISCORD_INTEGRATION",
|
||||||
|
"value": "True",
|
||||||
|
"type": "BOOL"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user