Skip to content

Instantly share code, notes, and snippets.

@user-grinch
Created December 11, 2020 09:05
Show Gist options
  • Save user-grinch/1d02ef890fa685b84565e77223e72a46 to your computer and use it in GitHub Desktop.
Save user-grinch/1d02ef890fa685b84565e77223e72a46 to your computer and use it in GitHub Desktop.
cmake_minimum_required(VERSION 3.0.0)
project(Testing VERSION 0.1.0)
# definations
add_compile_definitions(
_NDEBUG
_CRT_SECURE_NO_WARNINGS
_CRT_NON_CONFORMING_SWPRINTFS
GTASA
GTAGAME_NAME="San Andreas"
GTAGAME_ABBR="SA"
GTAGAME_ABBRLOW="sa"
GTAGAME_PROTAGONISTNAME="CJ"
GTAGAME_CITYNAME="San Andreas"
_LA_SUPPORT
PLUGIN_SGV_10US)
include_directories($ENV{PLUGIN_SDK_DIR}/shared
$ENV{PLUGIN_SDK_DIR}/shared/comp
$ENV{PLUGIN_SDK_DIR}/shared/comp/plugins
$ENV{PLUGIN_SDK_DIR}/shared/extender
$ENV{PLUGIN_SDK_DIR}/shared/game
$ENV{PLUGIN_SDK_DIR}/shared/extensions
$ENV{PLUGIN_SDK_DIR}/shared/extensions/scripting
$ENV{PLUGIN_SDK_DIR}/plugin_sa
$ENV{PLUGIN_SDK_DIR}/plugin_sa/game_sa
$ENV{PLUGIN_SDK_DIR}/plugin_sa/game_sa/rw
$ENV{PLUGIN_SDK_DIR}/plugin_sa/game_sa/meta
$ENV{PLUGIN_SDK_DIR}/output/lib
)
link_directories(${PROJECT_NAME} $ENV{PLUGIN_SDK_DIR}/output/lib)
add_library(${PROJECT_NAME} SHARED CreateCar.cpp)
# Include libraries depending on build type
target_link_libraries(
${PROJECT_NAME} $<$<CONFIG:Debug>:plugin_d.lib>
$<$<CONFIG:Release>:plugin.lib>
)
# Set the output directory for the dll or asi
# $<0:> makes it so build specific dirs ( Debug, Release) aren't created
set_target_properties(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY "../bin/$<0:>/")
set_target_properties(${PROJECT_NAME} PROPERTIES SUFFIX ".asi")
# Set MT flags for VC++
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /MT")
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /MTd")
set(CPACK_PROJECT_NAME ${PROJECT_NAME})
set(CPACK_PROJECT_VERSION ${PROJECT_VERSION})
include(CPack)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment