Make systems for the sane
- From: Jeff Cobb <JeffC JBCobb net>
- To: feuloren free fr
- Cc: gnome-multimedia gnome org
- Subject: Make systems for the sane
- Date: Tue, 05 Oct 2010 18:06:14 -0700
Greetings;
I could not help but notice your pain at using autotools. I have used
them for a number of other projects in the past and once set up they are
great but I agree they are a major pain when you have to reconfigure the
project a lot...
In any event, I am sure this is not an option but a make system I use
that is super-easy to learn and works pretty well on a variety of
platforms is CMake. I will not belabor the point but here is all it
takes to make a sample project on Linux, windows and mac with a shared
library and an executable to call/test it:
cmake_minimum_required(VERSION 2.6)
PROJECT(dvdhash)
ADD_DEFINITIONS( -Wall -ggdb)
ADD_LIBRARY( dvdhash SHARED dvdhash.cpp )
ADD_EXECUTABLE(dvdhash_test dvdhash_main.cpp)
TARGET_LINK_LIBRARIES(dvdhash_test dvdhash dvdread)
On Linux it makes dvdhash_test (executable) and libdvdhash.so. On
Windows (from the same source) it makes dvdhash.exe and dvdhash.dll. On
Mac it makes a dynlib (whatever; I don't do Mac so much anymore) and
dvdhash as an executable. I wrote a tiny python script to jumptstart
projects so if I want to test something out quickly, I can create a
directory, cd into it, call my script, answer a few questions and in
seconds have a complete project as outlined above (shared library on
Linux along with a test-harness), skeletal C++ code and the whole smash
is built and executable in like 15 seconds. The point is I can go from
nothing to running code that I can start hanging my test code off of in
no time.
Anyhow if it helps someone cool, check out www.cmake.org. This is about
the most painless make system I have seen...
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]