Using OpenCV with gcc and CMake
[ROS/C++] Using smart pointers in containers

CMake File Example From Official Guide

Author posted @ 2013年3月25日 08:48 in C/C++ , 3951 阅读

The following example demonstrates some key ideas of CMake. Make sure that you have CMake installed prior to running this example (go here for instructions).

There are three directories involved. The top level directory has two subdirectories called ./Demo and ./Hello. In the directory ./Hello, a library is built. In the directory ./Demo, an executable is built by linking to the library. A total of three CMakeList.txt files are created: one for each directory.

The first, top-level directory contains the following CMakeLists.txt file.

# The name of our project is "HELLO". CMakeLists files in this project can
# refer to the root source directory of the project as ${HELLO_SOURCE_DIR} and
# to the root binary directory of the project as ${HELLO_BINARY_DIR}.
cmake_minimum_required (VERSION 2.6)
project (HELLO)

# Recurse into the "Hello" and "Demo" subdirectories. This does not actually 
# cause another cmake executable to run. The same process will walk through 
# the project's entire directory structure. 
add_subdirectory (Hello)
add_subdirectory (Demo)

Then for each subdirectory specified, CMakeLists.txt files are created. In the ./Hello directory, the following CMakeLists.txt file is created:

# Create a library called "Hello" which includes the source file "hello.cxx"
# The extension is already found. Any number of sources could be listed here. 
add_library (Hello hello.cxx)

Finally, in the ./Demo directory, the third and final CMakeLists.txt file is created:

# Make sure the compiler can find include files from our Hello library. 
include_directories (${HELLO_SOURCE_DIR}/Hello) 

# Make sure the linker can find the Hello library once it is built. 
link_directories (${HELLO_BINARY_DIR}/Hello) 

# Add executable called "helloDemo" that is built from the source files 
# "demo.cxx" and "demo_b.cxx". The extensions are automatically found. 
add_executable (helloDemo demo.cxx demo_b.cxx) 

# Link the executable to the Hello library. 
target_link_libraries (helloDemo Hello) 

CMake when executed in the top-level directory will process the CMakeLists.txt file and then descend into the listed subdirectories. Variables, include paths, library paths, etc. are inherited. Depending on the system, makefiles (Unix) or workspaces/projects (MSVC) will be built. These can then be used in the usual way to build the code.



seo 说:
2021年12月27日 02:50

Are any of you interested in buying doors that will suit your architectural style? This door company sells Contemporary, Shaker, Traditional, Craftsman, French, and Victorian doors. Here's the link to more of them.

Things to do 说:
2022年5月22日 23:00

What are the trending destinations in China at the present? We can easily find all info on Things to do post with detailed article.

TN SSLC Previous Pap 说:
2022年8月19日 02:00

Blueprint, TN SSLC Model Paper 2023, Tamil Nadu Chennai Board By merging the Board of Secondary Education and the Board of Higher Secondary Examinations in 2023, the Kalvisolai Government of Tamil Nadu established a new board. Samuel Kalvi Here you can get the TN Board 10th SSLC Class Previous Question Paper from 2023 as well as the Tamil Nadu State Board SSLC Previous Year Question Paper. So that Class 10 TN SSLC Previous Paper 2023 students can download these papers for use in mock exams leading up to the TN Board 10th Question Paper 2023, click on the subject you want to read and download the previous years' question papers for.

Jacobe 说:
2022年11月13日 01:12

Building you own e-commerce store can be quite effective if you try ti incorporate the help of the top <a href="">UX companies</a>. Without a proper designa nd layout, your site won't be able to attract many users.

UX companies 说:
2022年11月13日 01:13

Building you own e-commerce store can be quite effective if you try ti incorporate the help of the top UX companies. Without a proper designa nd layout, your site won't be able to attract many users.

reese 说:
2022年11月30日 00:57

"Assuming you have installed CMake, the following is an example of a basic CMakeLists.txt file that will compile a trivial buying real estate Southwest Florida program: ``` cmake_minimum_required(VERSION 3.10) project(myproject) add_executable(myproject main.cpp) ``` This file must be saved as CMakeLists.txt in the same directory as your main.cpp file. "

anonymous 说:
2023年7月13日 03:31

Thanks for writing such a good article, I stumbled onto your blog and read a few post. I like your style of writing... Bed Bug Treatment Kissimmee

登录 *

loading captcha image...
or Ctrl+Enter