cotire
cotire copied to clipboard
Multiple project include same cpp file may cause cotire error.
Some configuration in my CMakeLists.txt is below:
add_library(server "server/stdafx.h" ${server_sourcelist} "protocol/c++/msg-server_to_server.pb.cc")
add_executable(gameserver ${gameserver_sourcelist} "protocol/c++/data-db.pb.cc" "protocol/c++/data-notdb.pb.cc" "protocol/c++/msg-game_to_client.pb.cc" "protocol/c++/msg-game_to_db.pb.cc" "protocol/c++/msg-game_to_gate.pb.cc")
add_executable(gateserver ${gateserver_sourcelist} "protocol/c++/data-db.pb.cc" "protocol/c++/msg-game_to_client.pb.cc" "protocol/c++/msg-game_to_gate.pb.cc")
add_executable(dbserver ${dbserver_sourcelist} "protocol/c++/data-db.pb.cc" "protocol/c++/msg-game_to_client.pb.cc" "protocol/c++/msg-game_to_db.pb.cc")
add_executable(robot ${robot_sourcelist} "protocol/c++/data-db.pb.cc" "protocol/c++/msg-game_to_client.pb.cc")
cotire(server)
cotire(gameserver)
cotire(gateserver)
cotire(dbserver)
cotire(robot)
Notice that I have several project include same cpp files such as:
"protocol/c++/data-db.pb.cc"
"protocol/c++/msg-game_to_client.pb.cc"
"protocol/c++/msg-game_to_gate.pb.cc"
......
But cotire seems could not figure out the situation, and it report error, just like below:
CMake Error at CMake/cotire.cmake:2800 (message):
CXX target gateserver cotired without precompiled header. Target sources
already include a precompiled header for target(s) gameserver. Set target
property COTIRE_ENABLE_PRECOMPILED_HEADER to FALSE for targets gateserver,
gameserver to get a workable build system.
Call Stack (most recent call first):
CMake/cotire.cmake:3248 (cotire_choose_target_languages)
CMake/cotire.cmake:3431 (cotire_target)
CMakeLists.txt:71 (cotire)
CMake Error at CMake/cotire.cmake:2800 (message):
CXX target dbserver cotired without precompiled header. Target sources
already include a precompiled header for target(s) gameserver. Set target
property COTIRE_ENABLE_PRECOMPILED_HEADER to FALSE for targets dbserver,
gameserver to get a workable build system.
Call Stack (most recent call first):
CMake/cotire.cmake:3248 (cotire_choose_target_languages)
CMake/cotire.cmake:3431 (cotire_target)
CMakeLists.txt:72 (cotire)
CMake Error at CMake/cotire.cmake:2800 (message):
CXX target robot cotired without precompiled header. Target sources
already include a precompiled header for target(s) gameserver. Set target
property COTIRE_ENABLE_PRECOMPILED_HEADER to FALSE for targets robot,
gameserver to get a workable build system.
Call Stack (most recent call first):
CMake/cotire.cmake:3248 (cotire_choose_target_languages)
CMake/cotire.cmake:3431 (cotire_target)
CMakeLists.txt:73 (cotire)