Don't use special compiler flags. Add upstream patch to make dependencies explicit; needed for ninja builds. --- src/CMakeLists.txt.orig 2014-03-15 15:11:32 UTC +++ src/CMakeLists.txt @@ -3,7 +3,6 @@ PROTOBUF_GENERATE_CPP(CPPS HS fileformat if(MSVC) set(CMAKE_CXX_FLAGS "/O3") else() - set(CMAKE_CXX_FLAGS "-O3") endif() add_library(osmpbf STATIC ${CPPS}) @@ -10,8 +10,13 @@ add_library(osmpbf STATIC ${CPPS}) set_target_properties(osmpbf PROPERTIES LINKER_LANGUAGE CXX LANGUAGE CXX) -ADD_CUSTOM_COMMAND(TARGET osmpbf POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_BINARY_DIR}/src/fileformat.pb.h ${CMAKE_SOURCE_DIR}/include/osmpbf) -ADD_CUSTOM_COMMAND(TARGET osmpbf POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_BINARY_DIR}/src/osmformat.pb.h ${CMAKE_SOURCE_DIR}/include/osmpbf) +ADD_CUSTOM_COMMAND(TARGET osmpbf POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_BINARY_DIR}/src/fileformat.pb.h ${CMAKE_SOURCE_DIR}/include/osmpbf + COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_BINARY_DIR}/src/osmformat.pb.h ${CMAKE_SOURCE_DIR}/include/osmpbf + BYPRODUCTS + ${CMAKE_SOURCE_DIR}/include/osmpbf/fileformat.pb.h + ${CMAKE_SOURCE_DIR}/include/osmpbf/osmformat.pb.h +) SET(INCLUDE_INSTALL "include/osmpbf") SET(files ${CMAKE_SOURCE_DIR}/include/osmpbf/osmpbf.h ${CMAKE_BINARY_DIR}/src/osmformat.pb.h ${CMAKE_BINARY_DIR}/src/fileformat.pb.h)