Ian Burgmyer
4 years ago
commit
0ef695d600
7 changed files with 127 additions and 0 deletions
@ -0,0 +1,59 @@
|
||||
cmake_minimum_required(VERSION 3.16) |
||||
set(product_name "Plip") |
||||
set(gui_name "plip-sdl") |
||||
set(lib_name "libplip") |
||||
|
||||
project(${gui_name}) |
||||
set(CMAKE_CXX_STANDARD 14) |
||||
|
||||
find_package(SDL2 REQUIRED) |
||||
|
||||
########### |
||||
# libplip # |
||||
########### |
||||
include(TestBigEndian) |
||||
TEST_BIG_ENDIAN(BIG_ENDIAN) |
||||
|
||||
add_custom_target( |
||||
GENERATE_LIB_VERSION_HEADER |
||||
COMMAND ${CMAKE_COMMAND} |
||||
-Dcmake_root="${CMAKE_CURRENT_SOURCE_DIR}" |
||||
-Dsrc_root="${CMAKE_CURRENT_SOURCE_DIR}/libplip" |
||||
-DBIN_NAME="${lib_name}" |
||||
-P "${CMAKE_CURRENT_SOURCE_DIR}/version.cmake" |
||||
) |
||||
|
||||
add_library(${lib_name} |
||||
libplip/Hello.cpp |
||||
) |
||||
|
||||
add_dependencies(${lib_name} GENERATE_LIB_VERSION_HEADER) |
||||
|
||||
######## |
||||
# plip # |
||||
######## |
||||
add_custom_target( |
||||
GENERATE_CLI_VERSION_HEADER |
||||
COMMAND ${CMAKE_COMMAND} |
||||
-Dcmake_root="${CMAKE_CURRENT_SOURCE_DIR}" |
||||
-Dsrc_root="${CMAKE_CURRENT_SOURCE_DIR}/plip-sdl" |
||||
-DPRODUCT_NAME="${product_name}" |
||||
-DBIN_NAME="${gui_name}" |
||||
-P "${CMAKE_CURRENT_SOURCE_DIR}/version.cmake" |
||||
) |
||||
|
||||
add_executable(${gui_name} |
||||
plip-sdl/main.cpp |
||||
) |
||||
|
||||
target_include_directories(${gui_name} |
||||
PRIVATE ${CMAKE_SOURCE_DIR}/libplip |
||||
PUBLIC ${SDL2_INCLUDE_DIRS} |
||||
) |
||||
|
||||
target_link_libraries(${gui_name} |
||||
libplip |
||||
${SDL2_INCLUDE_DIRS} |
||||
) |
||||
|
||||
add_dependencies(${gui_name} GENERATE_CLI_VERSION_HEADER) |
@ -0,0 +1,5 @@
|
||||
#include "Hello.h" |
||||
|
||||
int Hello::Calculate() { |
||||
return 42; |
||||
} |
@ -0,0 +1,8 @@
|
||||
#pragma once |
||||
|
||||
class Hello { |
||||
public: |
||||
static int Calculate(); |
||||
}; |
||||
|
||||
|
@ -0,0 +1,8 @@
|
||||
#include <iostream> |
||||
|
||||
#include "Hello.h" |
||||
|
||||
int main() { |
||||
std::cout << "Hello world! The answer is " << Hello::Calculate() << "." << std::endl; |
||||
return 0; |
||||
} |
@ -0,0 +1,34 @@
|
||||
cmake_minimum_required(VERSION 3.15) |
||||
|
||||
find_package(Git) |
||||
if(GIT_FOUND) |
||||
execute_process( |
||||
COMMAND ${GIT_EXECUTABLE} rev-parse --abbrev-ref HEAD |
||||
WORKING_DIRECTORY "${cmake_root}" |
||||
OUTPUT_VARIABLE GIT_BRANCH |
||||
ERROR_QUIET |
||||
OUTPUT_STRIP_TRAILING_WHITESPACE |
||||
) |
||||
|
||||
execute_process( |
||||
COMMAND ${GIT_EXECUTABLE} rev-parse --short HEAD |
||||
WORKING_DIRECTORY "${cmake_root}" |
||||
OUTPUT_VARIABLE GIT_REVISION |
||||
ERROR_QUIET |
||||
OUTPUT_STRIP_TRAILING_WHITESPACE |
||||
) |
||||
|
||||
execute_process( |
||||
COMMAND ${GIT_EXECUTABLE} describe --tags |
||||
WORKING_DIRECTORY "${cmake_root}" |
||||
OUTPUT_VARIABLE GIT_TAG |
||||
ERROR_QUIET |
||||
OUTPUT_STRIP_TRAILING_WHITESPACE |
||||
) |
||||
|
||||
message(STATUS "${APP_TITLE}: ${GIT_BRANCH}@${GIT_REVISION}; tag: ${GIT_TAG}") |
||||
else() |
||||
message(STATUS "Git package not found. Unable to fetch version information.") |
||||
endif() |
||||
|
||||
configure_file(${cmake_root}/version.h.in ${src_root}/version.h) |
Loading…
Reference in new issue