50 lines
1.5 KiB
CMake
50 lines
1.5 KiB
CMake
cmake_minimum_required(VERSION 3.15)
|
|
|
|
if(
|
|
NOT DEFINED ENV{VXSDK_PKG_NAME}
|
|
OR NOT DEFINED ENV{VXSDK_PKG_VERSION}
|
|
OR NOT DEFINED ENV{VXSDK_BUILD_CFLAGS}
|
|
OR NOT DEFINED ENV{VXSDK_BUILD_LDFLAGS}
|
|
OR NOT DEFINED ENV{VXSDK_BUILD_LIBS}
|
|
OR NOT DEFINED ENV{VXSDK_ASSETS_PREFIX_SRC}
|
|
OR NOT DEFINED ENV{VXSDK_PREFIX_BUILD}
|
|
OR NOT DEFINED ENV{VXSDK_PREFIX_INSTALL})
|
|
message(FATAL_ERROR "You should use the vxSDK to build this project")
|
|
endif()
|
|
|
|
set(VXSDK_PKG_NAME $ENV{VXSDK_PKG_NAME})
|
|
set(VXSDK_PKG_VERSION $ENV{VXSDK_PKG_VERSION})
|
|
set(VXSDK_PREFIX_BUILD $ENV{VXSDK_PREFIX_BUILD})
|
|
set(VXSDK_PREFIX_INSTALL $ENV{VXSDK_PREFIX_INSTALL})
|
|
set(VXSDK_BUILD_CFLAGS $ENV{VXSDK_BUILD_CFLAGS})
|
|
set(VXSDK_BUILD_LDFLAGS $ENV{VXSDK_BUILD_LDFLAGS})
|
|
set(VXSDK_BUILD_LIBS $ENV{VXSDK_BUILD_LIBS})
|
|
set(VXSDK_ASSETS_PREFIX_SRC $ENV{VXSDK_ASSETS_PREFIX_SRC})
|
|
|
|
#---
|
|
# handle project-specific information
|
|
#---
|
|
|
|
project(${VXSDK_PKG_NAME} VERSION ${VXSDK_PKG_VERSION} LANGUAGES C ASM)
|
|
|
|
|
|
#---
|
|
# Handle source listing
|
|
#---
|
|
|
|
file(GLOB_RECURSE SOURCES src/*.[csS] ${VXSDK_ASSETS_PREFIX_SRC}/*.[csS])
|
|
|
|
|
|
#---
|
|
# Compile-specific declaration
|
|
#---
|
|
link_directories(${VXSDK_PREFIX_INSTALL}/lib)
|
|
include_directories(include ${VXSDK_PREFIX_INSTALL}/include)
|
|
add_compile_options(-Wall -Wextra ${VXSDK_BUILD_CFLAGS})
|
|
add_executable(${VXSDK_PKG_NAME} ${SOURCES})
|
|
target_link_libraries(${VXSDK_PKG_NAME} ${VXSDK_BUILD_LIBS})
|
|
|
|
foreach(ldflag ${VXSDK_BUILD_LDFLAGS})
|
|
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${ldflag}")
|
|
endforeach()
|