no rule to make target for importing existing CMake project
-
I am trying to import a project with C++ files that I already built using cmake and makefile. I am trying to import it into QT creator. However, after importing the project and trying to debug it, I get the error "no rule to make target". However, the file it is referring to exists and I never had this problem with that file when using cmake. What is going on?
-
Hi,
How are you importing the project ?
-
Why not directly open the CMakeList.txt of your project ?
-
When I did
Try File -> Open File or Project
and select the existing CMakeLists.txt file in Project/src/Project/ and then had Qt Creator use cmake to build it, I get the error "CMake Error at CMakeLists.txt:165 (SetupBoost): Unknown CMake command "SetupBoost". -
SetupBoost ? Isn't that to build boost itself ?
-
SetupBoost.cmake is in ws/mke48/cmake/Project/CMake/SetupBoost.cmake
I generated the makefile (before using Qt) by going to ws/mke48/cmake/Project/Build, running 'ccmake' with the CMakeLists in the root source folder, pressing 'c' for configure, 'g' to generate the makefiles, 'make', 'ccmake' again, setting PRE_BUILD to false/off, 'c' again, 'g' again, and 'make' again
The contents for SetupBoost.cmake is below:
[CODE]macro(IncludeBoost)
set(Boost_FOUND FOUND)
set(Boost_INCLUDE_DIRS ${PROJECT_SOURCE_DIR}/third-party/boost)
endmacro(IncludeBoost)macro(find_boost)
set(Boost_FOUND FOUND)
set(Boost_INCLUDE_DIRS ${PROJECT_SOURCE_DIR}/third-party/boost)
set(Boost_components thread date_time regex filesystem system program_options)
endmacro(find_boost)macro(SetupBoost TargetName)
message("Setting up boost for target ${TargetName}")
set(Boost_FOUND FOUND)
set(Boost_INCLUDE_DIRS ${PROJECT_SOURCE_DIR}/third-party/boost)if (NOT DEFINED Boost_USE_MULTITHREADED)
set(Boost_LIBRARIES boost_thread-mt boost_date_time-mt boost_regex-mt boost_filesystem-mt boost_system-mt boost_program_options-mt)
target_link_libraries(${TargetName} ${Boost_LIBRARIES})
endmacro(SetupBoost)[/CODE] -
Are you sure Qt Creator is using the same cmake as you on the command line ?