Commit d4b14736 authored by Joshua Warner's avatar Joshua Warner

improve cmake build

* Move binaries into the bin directory and libs into the lib directory in the output
* Make sure the actual binary output file of capnp-tool is just capnp
* Remove need for deprecated cmake get_property function
parent e709a2ec
project(Private) project(Private)
cmake_minimum_required(VERSION 2.8) cmake_minimum_required(VERSION 2.8)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
set(CMAKE_CXX_FLAGS "-Wall -Wextra -Wno-unused-parameter -std=c++11") set(CMAKE_CXX_FLAGS "-Wall -Wextra -Wno-unused-parameter -std=c++11")
if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/gtest" AND IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/gtest") if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/gtest" AND IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/gtest")
......
...@@ -74,12 +74,13 @@ add_executable(capnp-tool ...@@ -74,12 +74,13 @@ add_executable(capnp-tool
capnp/compiler/capnp.c++ capnp/compiler/capnp.c++
) )
target_link_libraries(capnp-tool capnpc capnp kj) target_link_libraries(capnp-tool capnpc capnp kj)
set_target_properties(capnp-tool PROPERTIES OUTPUT_NAME capnp)
add_executable(capnpc-c++ add_executable(capnpc_c++
capnp/compiler/capnpc-c++.c++ capnp/compiler/capnpc-c++.c++
) )
get_property(capnpc-c++_location TARGET capnpc-c++ PROPERTY LOCATION) target_link_libraries(capnpc_c++ capnp kj)
target_link_libraries(capnpc-c++ capnp kj) set_target_properties(capnpc_c++ PROPERTIES OUTPUT_NAME capnpc-c++)
set(test_capnp_files set(test_capnp_files
capnp/test.capnp capnp/test.capnp
...@@ -106,11 +107,11 @@ add_custom_command( ...@@ -106,11 +107,11 @@ add_custom_command(
${test_capnp_cpp_files} ${test_capnp_cpp_files}
${test_capnp_header_files} ${test_capnp_header_files}
COMMAND capnp-tool compile COMMAND capnp-tool compile
-o ${capnpc-c++_location} -o $<TARGET_FILE:capnpc_c++>
--src-prefix=${CMAKE_CURRENT_SOURCE_DIR} --src-prefix=${CMAKE_CURRENT_SOURCE_DIR}
-I${CMAKE_CURRENT_SOURCE_DIR} -I${CMAKE_CURRENT_SOURCE_DIR}
${test_capnp_capnp_files} ${test_capnp_capnp_files}
DEPENDS capnp-tool capnpc-c++ ${test_capnp_files}) DEPENDS capnp-tool capnpc_c++ ${test_capnp_files})
add_library(capnp_test_lib ${test_capnp_cpp_files}) add_library(capnp_test_lib ${test_capnp_cpp_files})
include_directories(${CMAKE_CURRENT_BINARY_DIR}) include_directories(${CMAKE_CURRENT_BINARY_DIR})
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment