summaryrefslogtreecommitdiffstats
path: root/tests/auto/cmake/test_interface/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/cmake/test_interface/CMakeLists.txt')
-rw-r--r--tests/auto/cmake/test_interface/CMakeLists.txt36
1 files changed, 36 insertions, 0 deletions
diff --git a/tests/auto/cmake/test_interface/CMakeLists.txt b/tests/auto/cmake/test_interface/CMakeLists.txt
new file mode 100644
index 0000000000..a8af92da63
--- /dev/null
+++ b/tests/auto/cmake/test_interface/CMakeLists.txt
@@ -0,0 +1,36 @@
+
+cmake_minimum_required(VERSION 2.8.11)
+
+project(test_interface)
+
+find_package(Qt5Widgets)
+
+set(CMAKE_AUTOMOC ON)
+set(CMAKE_INCLUDE_CURRENT_DIR ON)
+
+add_executable(test_interface_exe WIN32 main.cpp mainwindow.cpp)
+
+# No need to specify include directories, compile definitions, the PIC flag, or to
+# link explicitly to Qt5::WinMain.
+target_link_libraries(test_interface_exe Qt5::Widgets)
+
+file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/try_compile-test.cpp"
+ "
+#include <QString>
+#include <QWidget>
+
+int main(int,char**) { QWidget w; w.show(); return 0; }
+"
+)
+
+# The try_compile works because Qt5::Widgets is listed in the LINK_LIBRARIES,
+# which causes the includes, defines and appropriate PIC flag to be used.
+try_compile(_TRY_COMPILE_RES "${CMAKE_CURRENT_BINARY_DIR}/try_compile-test"
+ "${CMAKE_CURRENT_BINARY_DIR}/try_compile-test.cpp"
+ LINK_LIBRARIES Qt5::Widgets
+ OUTPUT_VARIABLE TC_OV
+)
+
+if (NOT _TRY_COMPILE_RES)
+ message(SEND_ERROR "The use of try_compile with Qt5::Widgets failed. The output was :\n${TC_OV}")
+endif()