Hello,

Would you please critique my CMakeLists.txt and helloConfig.cmake.in
files?  I am particularly interested in comments that will help me fix
these problems:

- In helloConfig.cmake.in, I assume static libraries will be built
(".a").  I imaging a better approach would make no assumptions about
this.

- In helloConfig.cmake.in, I assume ${PREFIX} will expand to the
installed prefix, but it does not.

- I type the same expression many times:
"hello-${hello_VERSION_MAJOR}.${hello_VERSION_MINOR}".  I imagine the
better approach would derive this expression from some built-in cmake
variables or from a variable I create.

- INSTALL is looking for helloConfig.cmake in the source directory but
it is in the build directory.

- Any other comments you have

Thank you!

Chris
CMAKE_MINIMUM_REQUIRED(VERSION 2.8)

PROJECT(hello)

set (hello_VERSION_MAJOR 1)
set (hello_VERSION_MINOR 1)

ENABLE_TESTING()

ADD_LIBRARY(hello hello.cpp)

CONFIGURE_FILE(helloConfig.cmake.in helloConfig.cmake)

INSTALL(
  TARGETS
  hello
  DESTINATION
  lib/hello-${hello_VERSION_MAJOR}.${hello_VERSION_MINOR}
  )

INSTALL(
  FILES
  helloConfig.cmake
  DESTINATION
  lib/hello-${hello_VERSION_MAJOR}.${hello_VERSION_MINOR}
  )

INSTALL(
  FILES
  hello.h
  DESTINATION
  include/hello-${hello_VERSION_MAJOR}.${hello_VERSION_MINOR}
  )
#include <iostream>

void SayHello()
{
  std::cout << "Hello" << std::endl;
}
void SayHello();

Attachment: helloConfig.cmake.in
Description: Binary data

--

Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake

Reply via email to