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