The Meson Build System http://mesonbuild.com/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

60 lines
1.9 KiB

cmake_minimum_required(VERSION 3.5)
project(cmMod)
set (CMAKE_CXX_STANDARD 14)
set (CMAKE_CXX_STANDARD_REQUIRED ON)
include_directories(${CMAKE_CURRENT_BINARY_DIR})
add_definitions("-DDO_NOTHING_JUST_A_FLAG=1")
add_executable(gen main.cpp)
add_executable(mycpy cp.cpp)
add_custom_command(
OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/genTest.cpp" "${CMAKE_CURRENT_BINARY_DIR}/genTest.hpp"
COMMAND gen ARGS genTest
)
add_custom_command(
OUTPUT cpyBase.cpp
COMMAND mycpy "${CMAKE_CURRENT_SOURCE_DIR}/cpyBase.cpp.am" cpyBase.cpp.in
COMMAND mycpy cpyBase.cpp.in cpyBase.cpp.something
COMMAND mycpy cpyBase.cpp.something cpyBase.cpp.IAmRunningOutOfIdeas
COMMAND mycpy cpyBase.cpp.IAmRunningOutOfIdeas cpyBase.cpp
DEPENDS cpyBase.cpp.am gen
)
add_custom_command(
OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/cpyBase.hpp.in"
COMMAND mycpy "${CMAKE_CURRENT_SOURCE_DIR}/cpyBase.hpp.am" cpyBase.hpp.in
DEPENDS cpyBase.hpp.am
)
add_custom_command(
OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/cpyBase.hpp.something"
COMMAND mycpy cpyBase.hpp.in cpyBase.hpp.something
DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/cpyBase.hpp.in"
)
add_custom_command(
OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/cpyBase.hpp"
COMMAND mycpy cpyBase.hpp.something cpyBase.hpp
DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/cpyBase.hpp.something"
)
add_library(cmModLib SHARED cmMod.cpp genTest.cpp cpyBase.cpp cpyBase.hpp)
include(GenerateExportHeader)
generate_export_header(cmModLib)
set(ARGS_TEST arg1)
set(ARGS_TEST ${ARGS_TEST} arg2)
add_executable(macro_name macro_name.cpp)
add_executable(args_test args_test.cpp)
add_custom_target(args_test_cmd
COMMAND args_test ARGS ${ARGS_TEST}
)
add_custom_target(macro_name_cmd COMMAND macro_name)
add_dependencies(cmModLib args_test_cmd)
add_dependencies(args_test_cmd macro_name_cmd)