KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I use CMake to generate unix makefiles. After that I compile project using make utility. Problem is that I can't see any warnings! For example, this results in clean build without warnings: #include <iostream> class Foo { int first; int second; public: Foo(int a, int b) : second(a) // invalid initialization order , first(b) { } }; int main(int argc, char** argv) { int unused; // unused variable int x; double y = 3.14159; x = y; // invalid cast Foo foo(1,2); std::cout << y << std::endl; return 0; } Unused variable and lossy variable cast - no warnings! My CMakeLists.txt file is minimalistic: cmake_minimum_required(VERSION 2.8) add_executable(main main.cpp) When I run cmake and then make my output looks like this: [100%] Building CXX object CMakeFiles/main.dir/main.cpp.o Linking CXX executable main [100%] Built target main But when I add this line of code: #warning ("Custom warning") resulting output contains warning: [100%] Building CXX object CMakeFiles/main.dir/main.cpp.o ../src/main.cpp:15:2: warning: #warning ("Custom Warning") [-Wcpp] Linking CXX executable main [100%] Built target main I use Ubuntu 12.04 LTS and GCC as a compiler. Maybe CMake passes some flag to compiler that results in absence of warnings. How can I check it? I can't read makefiles generated by CMake, they are a little bit cryptic.
Tags (comma-separated)
Save Edits
Cancel