Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Using Qt inside Clion

Tags:

c++

cmake

qt

clion

I'm trying to use Clion IDE to compile a simple program using Qt library, but I can't figure out how to configure CMakeLists.txt file. (I'm not familiar with cmake and toolchain) this is my current CMakeLists.txt file:

cmake_minimum_required(VERSION 3.2)
project(MyTest)

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")

set(SOURCE_FILES main.cpp)
add_executable(MyTest ${SOURCE_FILES})

 # Define sources and executable
set(EXECUTABLE_NAME "MySFML")
add_executable(${EXECUTABLE_NAME} main.cpp)



# Detect and add SFML
set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake_modules" ${CMAKE_MODULE_PATH})
find_package(SFML 2 REQUIRED system window graphics network audio)
if(SFML_FOUND)
    include_directories(${SFML_INCLUDE_DIR})
    target_link_libraries(${EXECUTABLE_NAME} ${SFML_LIBRARIES})
endif()

It's configured to use SFML library with a "FindSFML.cmake" file and it works fine. (I have copied these files from some tutorial) now I want some help regarding proper CMakeLists.txt configuration to compile programs that are using Qt library (it's more helpful if the files and explanations are provided).


P.S: my current OS is manjaro 0.8.13 and all I could find was explaining configurations in windows environment so I was unable to implement those tutorials.

like image 982
Kian Ahrabian Avatar asked Jul 01 '15 07:07

Kian Ahrabian


1 Answers

In addition to @tomvodi's answer, you can use a simpler syntax :

find_package(Qt5 REQUIRED COMPONENTS Core Widgets Gui). Then, you don't call qt5_use_modules but instead use the standard command to link :

target_link_libraries(MyTest Qt5::Core Qt5::Widgets Qt5::Gui)

like image 107
Jean-Michaël Celerier Avatar answered Oct 01 '22 03:10

Jean-Michaël Celerier